using UnityEngine;
using System.Collections;
		
public class Enemy : MonoBehaviour
{
   private float speed = 4.0F;
   private GameObject last;
   private GameObject previous;
   bool goright = true;
   bool goleft = false;
   bool godown = false;
   float dist;
   float Left;
   float Right;
   bool ativo = true;
   float movDir = 1f;
   float movVert = 0f;
   			
   GameObject[] enemy;
			
   void Start () 
   {
	  last = new GameObject();
	  previous = new GameObject();
   }
	
   void Update () 
   {
		//algoritmo a se seguir:
		
		//1- FAZER A LISTA DE INIMIGOS SE MOVER (IR TODA PARA A DIREITA)
		
		//DETECTAR QUANDO ALGUM ITEM DA LISTA BATEU NA DIREITA
		
		//JOGAR TODOS DA LISTA PRA BAIXO
		
		//INVERTER O SENTIDO DE MOVIMENTO
		//(A LISTA CONTINUA SE MEXENDO COMO EM 1, MAS COM O SENTIDO INVERTIDO)
		
		//DETECTAR QUANDO ALGUM ITEM DA LISTA BATEU NA ESQUERDA
		
		//INVERTER O SENTIDO DE MOVIMENTO
		//(A LISTA CONTINUA SE MEXENDO COMO EM 1, MAS COM O SENTIDO INVERTIDO - DIREITA)
		
		//ATIRAR DE VEZ EM QUANDO
		
		//FAZER A DETECÇÂO QUANDO A LISTA ESTIVER MUITO BAIXA, O QUE ACONTECE?
		
		
		Left = -30;
		Right = 30;
		
		enemy = GameObject.FindGameObjectsWithTag("Enemy");
		//Testa se os inimigos estão descendo
		if (movVert > 0f) 
		{
			//Executa o movimento de descida em uma unidade
			for (int count=0; count < enemy.Length; count++)
			{
				enemy[count].transform.Translate(new Vector3(0, 0, 1) * speed * Time.deltaTime);
				
				if (enemy[count].transform.position.y < -13)
				{
					GameManager.Instance.LostGame();
				}
			}
			movVert--;
			Debug.Log(movVert);
		}
		else
		{
			//Entrou em movimento lateral
			for (int count=0; count < enemy.Length; count++)
			{
				//movimenta
				enemy[count].transform.Translate(new Vector3(movDir, 0, 0) * speed * Time.deltaTime);
				
				//colidiu com uma das bordas?
				if ((enemy[count].transform.position.x >= Right) || 
					(enemy[count].transform.position.x <= Left))
				{
					//inverte a direção de movimento horizontale inicializa o deslocamento vertical.
					movDir *= -1;
					movVert = 40f;					
				}				
			}
		}	
	}
}
	